package main

import "fmt"

// 递归
func recursion() {
	fmt.Println()
	fmt.Println("=========recursion========")
	fmt.Println()

	// 阶乘
	fmt.Println(recursionFunc(15))

	// 斐波那契数
	var i int
	for i = 0; i < 10; i++ {
		fmt.Print(fib(i), " ")
	}
}

// 阶乘
func recursionFunc(a int) int {
	if a > 0 {
		return a * recursionFunc(a-1)
	}
	return 1
}

// 斐波那契数
func fib(a int) int {
	if a < 2 {
		return a
	}
	return fib(a-1) + fib(a-2)
}
